函数
fesetenv (C++11)
int fesetenv(const fenv_t *envp);
设置浮点环境
尝试用 envp 指向的对象建立 浮点环境 的状态。
浮点环境 是影响 浮点计算(包括 浮点异常 和 舍入方向模式_ )的状态标志和控制模式的集合。
如果成功的话,这个函数会改变浮点环境的当前状态,但不会真的 触发 状态中的异常。
调用这个函数的程序需要确保在本次函数调用时,编译指示 FENV_ACCESS 已经开启。
参数
envp
要么是指向 fenv_t 对象的指针,要么是 浮点环境 的宏值之一:
宏名 | 描述 |
---|---|
FE_DFL_ENV | 默认的浮点环境(和程序启动时一样) |
特定的库实现可能会支持附加的 浮点环境 状态值(它们对应的宏同样以 FE_ 开头的宏)。
返回值
如果状态被成功建立,则返回0,否则返回非0。
数据竞争
每个线程都保持着分离的、拥有自己状态的 浮点环境 。产生一个新线程就复制当前状态。[ 这个适用于 C11 和 C++11 的实现 ]
异常
不抛出异常的保证:这个函数从不抛出异常。
另请参见
函数 | 描述 |
---|---|
feupdateenv | 更新浮点环境 (函数) |
fegetenv | 获取浮点环境 (函数) |
fesetenv | 设置浮点环境 (函数) |
当前内容版权归 chrisniael 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 chrisniael .